package cn.edu.nhic.order.util;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

import cn.edu.nhic.order.bean.ShopBean;

public class JsonParse {
    private static JsonParse instance;

    public JsonParse() {
    }

    /**
     * 单例模式
     * @return
     */
    public static JsonParse getInstance(){
        if(instance==null){
            instance=new JsonParse();
        }
        return instance;
    }

    /**
     * 解析JSON数据生成对应的Java对象
     * @param shopJson
     * @return
     */
    public List<ShopBean> getShopBeanList(String shopJson){
        List<ShopBean> shopBeanList=new ArrayList<ShopBean>();
        //解析JSON数据 ，google开发的专用JSON解析工具gson
        //步骤：1生成gson对象
        Gson gson=new Gson();
        //步骤：2生成Type对象 用来对象反射的
        Type type= new TypeToken<List<ShopBean>>(){}.getType();
        shopBeanList=gson.fromJson(shopJson,type);
        return shopBeanList;
    }
}
